package com.kins.so.knowledgebase.mapper;

import com.kins.so.chatassistant.model.RetrievalChunksVo;
import com.kins.so.chatassistant.model.RetrievalVo;
import com.kins.so.knowledgebase.entity.RagFlowDocument;
import com.kins.so.knowledgebase.model.RagApprovalVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @Description:
 * @Author: 申科
 * @Date:2025/11/26 15:52
 */
public interface RagFlowDocumentMapper {
    void deleteByLibraryId(@Param("libraryId") String libraryId);

    List<RagFlowDocument> findDocumentByLibraryId(RagFlowDocument param);

    void insertBatch(@Param("list") List<RagFlowDocument> documentList);

    void saveRagflowDocument(RagFlowDocument newRagflowDocument);

    RagFlowDocument getInfoById(RagFlowDocument document);

    void deleteById(RagFlowDocument flowDocument);

    void updateStatusByDocIds(@Param("list") List<String> documentIds, @Param("status") String status);

    List<RagFlowDocument> findDocumentByDocIds(@Param("list") List<String> libIds);

    List<RagFlowDocument> findDocListByRetCond(RetrievalVo retrievalVo);

    List<RetrievalChunksVo> findDocInfoByIds(List<String> docIds);

    void updata(RagFlowDocument documentInfo);

    void changeApprovalStatus(RagFlowDocument flowDocument);

    List<RagFlowDocument> findDocChangeDetailsList(RagApprovalVo param);

    void deleteBydocIds(@Param("list") List<String> docIds);

    List<RagFlowDocument> findDocListByDocIds(@Param("list") List<String> docIds);

    List<RagFlowDocument> findTypeListBybusinessNo(String businessNo);

    void deleteDocumentByDocIds(@Param("docIds") List<String> docIds);
    
}
